# Assembler exclusions
# lookup left$(name$,3)
# if * this will not be limited to statement
# if not at start of statement then ignore
# if len=0 sustitute whole name$
# if len>3 re-lookup left$(name$,len)
# if len<>0 substitute
# if v set not found
# Registers
R0:*0
R1:*1
R2:*2
R3:*3
R4:*4
R5:*5
R6:*6
R7:*7
R8/AP:*8
R9:*9
R10/LC:*10
R11/PP:*11
R12/LP:*12
R13/SP:*13
R14/LR:*14
R15/PC:*15
# Shifts
LSR/ASR/LSL/ASL/ROR/RRX:**
# Directives
OPT:**
ADR:
EQU:1234
DCB/EQUB:=
DCW/EQUW:=
DCD/EQUD:&
DCS/EQUS:=
ALI:12345
ALIGN:
# Branches
B/B??/BL/BL?/BX/BX?/BLX:
# Opcodes
ADC/ADD/AND/BIC/CMN/CMP/LDM/LDR/MLA/MOV/MRS/MSR
MUL/MVN/RSB/RSC/SBC/STM/STR/SUB/SWI/SWP/TEQ/TST:
# AND EOR MOVE[Q] OR[R] are BASIC keywords and treated separately
# These are needed for lower and mixed case:
AND/EOR/MOV/ORR:
# Long multiply
SMU/SML/UMU/UML:12345
SMULL/SMLAL/UMULL/UMLAL:
# ?
CLZ:
# Breakpoint
BRK:1234
BRKP:
# VFP FPA - all beginning V or F - no old-style FPA instructions
V??/F??:
# VDU[P] is a BASIC keyword and treated separately - was VDPL
# APSR_nzcv FPSID FPSCR FPEXC MVFR0 MVFR1
APS:123456789
APSR_nzcv:
FPS:12345
FPSID:
FPSCR:
FPE:12345
FPEXC:
MVF:12345
MVFR0:
MVFR1:
# End
